﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Eloje_Data;
using eLoje_Model;

namespace ELoje_web
{
    public partial class DepartamentoNew : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                if (Session["DescDepartamento"] != null)
                    txtDepartamento.Text = Session["DescDepartamento"].ToString().Trim();
                if (Session["Sigla"] != null)
                    txtSigla.Text = Session["Sigla"].ToString().Trim();
                if (Session["CodDepartamento"] != null)
                    hdnCodDepartamento.Value = Session["CodDepartamento"].ToString().Trim();
                if (Session["Status"] != null)
                    hdnStatus.Value = Session["Status"].ToString().Trim();

                applyText();
                navigationHistory();
                loadMedidas();
            }
        }

        protected void btnSave_Click(object sender, EventArgs e)
        {
            List<Int32> list = new List<int>();
            //Pegar todos os itens do repeater
            for (int i = 0; i < Repeater1.Items.Count; i++)
            {
                //Pegando o HiddenField dentro do repeater
                HiddenField HiddenField1 = (HiddenField)Repeater1.Items[i].FindControl("HiddenField1");

                //Pegando o CheckBox dentro do repeater
                CheckBox CheckBox1 = (CheckBox)Repeater1.Items[i].FindControl("CheckBox1");

                //Verificar se foi selecionado
                if (CheckBox1.Checked)
                {
                    //adicionamos os IDs das medidas em uma lista.
                    list.Add(Convert.ToInt32(HiddenField1.Value));
                    //Pegar o Value e o Text dos itens selecionados do repeater
                    //Response.Write("Value:" + HiddenField1.Value + " Text:" + CheckBox1.Text + "<br />");
                }
            }

            DepartamentoDA da = new DepartamentoDA();
            if (!string.IsNullOrEmpty(hdnCodDepartamento.Value.Trim()))
                da.setAmendDepartamento(Convert.ToInt32(hdnCodDepartamento.Value), list, txtDepartamento.Text, txtSigla.Text, hdnStatus.Value, "desenv", "A");
            else
                da.setNewDepartamento(list, txtDepartamento.Text, txtSigla.Text, "desenv");

            if (Session["DescDepartamento"] != null)
                Session.Remove("DescDepartamento");
            if (Session["Sigla"] != null)
                Session.Remove("Sigla");
            if (Session["CodDepartamento"] != null)
                Session.Remove("CodDepartamento");
            if (Session["Status"] != null)
                Session.Remove("Status");

            Response.Redirect("~/Detalhes/DepartamentoList.aspx");
        }

        private void applyText()
        {
            btnSave.Text = " Salvar ";
            btnCancelar.Text = " Cancelar ";
        }
        private void loadMedidas()
        {
            List<MedidaVO> exemplo = null;
            try
            {
                MedidaDA da = new MedidaDA();
                exemplo = da.getMedidas();
            }
            catch (Exception)
            {

                throw;
            }
            //Definindo a lista como DataSource do repeater
            Repeater1.DataSource = exemplo;
            Repeater1.DataBind();
        }

        private void navigationHistory()
        {
            lblHistoryNavigation.Text = String.Format("{0} >> {1} >> {2} >>", "Cockpit", "Cadastros", "Departamentos");
            lblThisPage.Text = "Novo Departamento";

        }
    }
}